기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

Concat 함수의 예

CONCAT() 함수를 스크립트 키워드 CONCATENATE와 혼동하지 않아야 합니다.

Concat()은 가장 간단한 형식으로, 값/단어/선택 내용을 하나의 문자열로 묶거나 합치는 데 사용됩니다. 또한 다양한 문제를 해결하는 데에도 다양한 방식으로 활용할 수 있습니다. 모든 예는 다음 테이블을 기준으로 합니다.

Example string table data
문자열 테이블 데이터 예
Table MyColumn Date Value
Data JKL 01/01/2012 11
Data1 WVX 01/02/2012 13
Data GHI 01/03/2012 13
Data ABC 01/04/2012 15
Data1 STU 01/05/2012 18
Data1 PQR 01/06/2012 10
Data1 MNO 01/07/2012 25
Data DEF 01/08/2012 11

단순 문자열 연결

앞서 설명한 대로, concat 함수를 사용하여 값 목록을 함께 묶을 수 있습니다. 이 값은 하드코드되거나 선택 내용/데이터에 따라 결정될 수 있습니다.

=CONCAT(MyColumn,',')

=CONCAT(DISTINCT MyColumn,',')

이 단순 concat 문은 MyColumn 열에서 사용 가능한 모든 값을 서로 묶습니다. 여기에 DISTINCT 키워드를 추가하는 것을 고려할 수 있습니다. 그러면 각각의 값이 문자열에서 한 번만 표시됩니다.

ABC,DEF,GHI,JKL,MNO,PQR,STU,VWX

단순 concat를 사용할 때 문자열 값이 사용자가 선택한 열로 정렬되도록 함수에 정렬 가중치를 추가할 수 있습니다. 아래 예에서는 값 정렬을 위해 날짜 열이 추가되었습니다.

=CONCAT(MyColumn, ',', Date)

결과: JKL,VWX,GHI,ABC,STU,PQR,MNO,DEF

표현식/Set 문 내에서 Concat() 사용

집합 분석 표현식에 다수의 동적 값 전달

값의 동적 선택 내용을 set 문에 전달하고자 할 경우가 있습니다. 그러려면 CONCAT() 함수가 예를 들어 'JKL', 'VWX'를 반환하도록 문자열에 작은따옴표를 추가해야 합니다. 하지만 작은따옴표는 set 표현식이 평가될 때가 아니라 Concat가 평가될 때 해석되므로 작은따옴표를 그대로 사용할 수 없습니다. 대신 Chr() 함수를 사용해야 합니다.

=CONCAT(Chr(39)&MyColumn&Chr(39),',')

그 다음 이 concat 문을 표현식 내부로 전달할 수 있습니다.

=Sum({<MyColumn={$(=CONCAT(Chr(39)&MyColumn&Chr(39),','))}>} Value)

대부분의 경우 데이터 섬이 존재할 때 이 기법이 사용됩니다. 이 기법을 사용하면 데이터 섬 테이블이 조인되지 않으므로 데이터 모델의 어떤 부분에도 영향을 주지 않는 표현식에 값을 전달할 수 있습니다.

스크립트 내의 Concat()

Concat는 또한 스크립트 내에서 다른 집계처럼 다수의 행을 단일 열 값으로 변환하는 데 사용할 수도 있습니다.

앞서 사용한 소스 데이터를 기억해보면 스크립트측 CONCAT의 결과는 다음과 같습니다.

ConcatExample:
Load Table,
Concat(MyColumn,',') as CombinedData
Resident Temp
Group By Table;

다음은 이 스크립트 함수의 결과입니다.

테이블 형식의 출력 예
Table CombinedData
Data ABC,DEF,GHI,JKL
Data1 MNO,PQR,STU,WVX

Rank()를 사용하여 Concat()에 영향 주기

concat()와 함께 다른 함수를 사용하면 빈틈없는 결과를 얻을 수 있습니다. 이 예에서는 Rank()를 사용하여 상위 3개 성과(Value 기준)를 포착하고 서로 묶습니다.

=CONCAT(IF(aggr(Rank(sum(Value)),MyColumn)<=3,MyColumn),',')

결과: ABC,MNO,STU

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 개선 방법을 알려 주십시오!

분석 현대화 프로그램에 참여

Remove banner from view

분석 현대화 프로그램으로 귀중한 QlikView 앱을 손상시키지 않고 현대화하십시오. 여기를 클릭 하여 자세한 내용을 참조하거나 다음에 연결하십시오. ampquestions@qlik.com